home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
090
/
pctj8307.arc
/
CONTROL1.BAS
< prev
next >
Wrap
BASIC Source File
|
1984-01-23
|
2KB
|
50 lines
10 SCREEN 2:CLS:KEY OFF
20 DIM DTA(300):YMAX=0 :YMIN=0
30 LOCATE 12,20 : PRINT "PLEASE BE PATIENT DURING CALCULATIONS "
40 XMIN=0 : XMAX=6.28 'One period to be plotted
50 FOR I=0 TO 299
60 DTA(I)=SIN(THETA) 'Fill data array
70 THETA =THETA+(XMAX/300)
80 IF DTA(I)<YMIN THEN YMIN=DTA(I)
90 IF DTA(I)>YMAX THEN YMAX=DTA(I)
100 NEXT
110 CLS
120 ' PICK THE FIRST WINDOW
130 W11=.3 : W12=.7 'Central 40% of horiz. display area
140 W21=.3 : W22=.7 'Central 40% of vert. display area
150 ' MAKE IT LOOK NICE
160 LOCATE 25,35 : PRINT "FIGURE 1."
170 LINE (192,100)-(448,100) 'Horizontal line
180 LINE (192,60)-(192,140) 'Vertical line
190 LOCATE 7,33 : PRINT "SINE CURVE PLOT"
200 ' START TO DO THE WORK
210 GOSUB 440 'Calculate parameters
220 GOSUB 320 'Plot in desired screen window
230 W11=0 :W12=.2:W21= .8 :W22= 1 'Upper left
240 GOSUB 440:GOSUB 320
250 W21=0 : W22=.2 'Lower left
260 GOSUB 440:GOSUB 320
270 W11=.8:W12=1 'Lower right
280 GOSUB 440:GOSUB 320
290 W21=.8 : W22=1! 'Upper right
300 GOSUB 440:GOSUB 320
310 A$=INKEY$:IF A$="" GOTO 310 ELSE END
320 ' PLOTTING SUBROUTINE
330 THETA=0
340 FOR I=0 TO 299
350 X.DATA.POINT=THETA
360 Y.DATA.POINT=DTA(I)
370 REM *** CALCULATE SCREEN POSITIONS ***
380 XPLOT=INT(T11+T12*X.DATA.POINT) 'Horizontal position
390 YPLOT=INT(T21+T22*Y.DATA.POINT) 'Vertical position
400 PSET ( XPLOT, YPLOT )
410 THETA = THETA + XMAX/300
420 NEXT I
430 RETURN
440 ' SUBROUTINE FOR PARAMETER CALCULATION
450 T12=640*(W12-W11)/(XMAX-XMIN)
460 T11=0 +W11*640-T12*XMIN
470 T22=(0-200)*(W22-W21)/(YMAX-YMIN)
480 T21=200 + W21*(0-200)-T22*YMIN
490 RETURN